Cisco Router OSPF Design and Implementation Guide
William Parkhurst, PhD, CCIE
 $54.95  0-07-048626-3
Backward Forward
Chapter: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13

Reserve your copy at a
Beta Bookstore near you!
Contact Bet@books
© 1998 The McGraw-Hill Companies, Inc. All rights reserved.
Any use of this Beta Book is subject to the rules stated in the Terms of Use.

Chapter 10

Configuring EIGRP

Introduction

The Enhanced Interior Gateway Routing Protocol (EIGRP) is a Cisco proprietary routing protocol based on the IGRP routing protocol. EIGRP uses the Diffusing Update Algorithm (DUAL) which was created at SRI International. EIGRP enhances IGRP (hence the name) by including many new features. EIGRP has a faster convergence time than IGRP because EIGRP stores the routing tables from all neighbors allowing EIGRP to select alternate routes in case of a route failure. Support for VLSM and route summarization has been included to overcome the problems we have seen with RIP and IGRP. RIP and IGRP periodically transmit their entire routing tables even when there have been no changes since the previous routing update. EIGRP only sends updates when information for a route changes and then only sends the information for the changed route, significantly reducing the utilized bandwidth. RIP and IGRP have no knowledge of their neighbors so routing updates are sent and received as broadcasts. EIGRP uses a neighbor discovery mechanism to determine the existence of neighboring routers. The discovery process is enabled through the use of a hello protocol. This allows EIGRP to reliably send and receive routing updates by exchanging acknowledgements with its neighbors. Finally, since EIGRP maintains the routing tables of its neighbors loop-free paths can be determined which is a significant improvement over RIP and IGRP. These features are supported through the use of multiple packets types for inter-router communication. Hello packets are used not only for neighbor discovery but also as an acknowledgment. A hello packet with no data is considered an acknowledgement. Update packets are used to transmit routing information reliably. Update packets are sent as unicast packets to neighbors or as multicast packets when a change to the routing information occurs. Sending packet as unicast or multicast reduces the number of packets that non-routing hosts on the network need to process.

EIGRP

The network of figure 10.1 will be used to demonstrate the various configuration commands possible with EIGRP.

Router r1 Configuration Router r2 Configuration

hostname r1 hostname r2

enable password cisco enable password cisco

interface Loopback0 interface Loopback0

ip address 172.16.1.1 255.255.255.0 ip address 172.16.4.1 255.255.255.0

interface Loopback1 interface Loopback1

ip address 172.16.2.1 255.255.255.0 ip address 172.16.5.1 255.255.255.0

interface Ethernet0 interface Ethernet0

ip address 172.16.3.1 255.255.255.0 ip address 172.16.3.2 255.255.255.0

As you can see in Figure 10.1 we only need one physical interface on each router. The other networks in the examples that follow will be simulated using loopback interfaces. The first step in configuring EIGRP is to start the EIGRP routing process. This is accomplished by entering configuration mode and enabling the EIGRP process.

r1#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

r1(config)#router eigrp ?

<1-65535> Autonomous system number

r1(config-router)#router eigrp 100

r1(config-router)#^Z

The EIGRP routing process must be assigned an autonomous system number in the range 1 – 65535. This should actually be called a routing process number since this number does not have to match your autonomous system number. Multiple EIGRP routing processes can be running on the same router but only processes with the same number will exchange routing updates. As with IGRP, EIGRP needs to know which networks to advertise. For r1, we want to advertise networks 172.16.1.0, 172.16.2.0, and 172.16.3.0. The network command is used to inform EIGRP which networks to advertise in the routing updates.

r1(config-router)#network 172.16.1.0

r1(config-router)#network 172.16.2.0

r1(config-router)#network 172.16.3.0

r1(config-router)#^Z

At this point, list the current router configuration to see how we have configured the basic EIGRP routing process.

router eigrp 100

network 172.16.0.0

Why does the configuration show only one network command when we entered three? As with RIP and IGRP, the network command only accepts major network numbers. Since all of r1’s attached networks belong to the class B network 172.16.0.0, these are the networks that EIGRP will advertise. The network command also determines which interfaces will send and receive EIGRP routing updates. Since all of our networks belong to 172.16.0.0 EIGRP will send and receive updates on all the interfaces. The configuration on r2 will be identical to the configuration of r1.

r2(config)#router eigrp 100

r2(config-router)#network 172.16.0.0

r2(config-router)#^Z

How many routes will EIGRP advertise is this situation, one or three? Like RIP v1 and IGRP, EIGRP will only advertise all three attached sub-networks because all attached networks are included in the major network 172.16.0.0. To determine if r1 and r2 are exchanging routing updates use the command show IP route on routers r1 and r2.

r1#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

U - per-user static route

Gateway of last resort is not set

172.16.0.0/16 is subnetted, 5 subnets

D 172.16.4.0 [90/156160] via 172.16.3.2, 00:13:21, Ethernet0

D 172.16.5.0 [90/156160] via 172.16.3.2, 00:13:21, Ethernet0

C 172.16.1.0 is directly connected, Loopback0

C 172.16.2.0 is directly connected, Loopback1

C 172.16.3.0 is directly connected, Ethernet0

r2#show ip route

Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

U - per-user static route

Gateway of last resort is not set

172.16.0.0/16 is subnetted, 5 subnets

C 172.16.4.0 is directly connected, Loopback0

C 172.16.5.0 is directly connected, Loopback1

D 172.16.1.0 [90/156160] via 172.16.3.1, 00:14:25, Ethernet0

D 172.16.2.0 [90/156160] via 172.16.3.1, 00:14:25, Ethernet0

C 172.16.3.0 is directly connected, Ethernet0

Notice that r1 and r2 have three directly connected routes and two routes that have been learned from EIGRP. Each entry in the routing table contains the following information:

This is the minimum configuration required to enable EIGRP. The IP routing table contains the information necessary for each router to determine how to route a packet to a destination network. For the connected networks the router needs only to forward a packet destined for a host on the network out the directly connected interface. For packets destined for a network not on a directly connected interface the router must determine which interface should be used to forward the packet.

What happens if the subnet masks are not identical? Assume that the two networks on r1, Ethernet 0 and Ethernet 1, will have no more than 14 hosts each. We can use VLSM to sub-subnet network 172.16.1.0 into two networks using a 28-bit subnet mask as shown in figure 10.2.

Router r1 configuration changes

interface Loopback0

ip address 172.16.1.17 255.255.255.240

interface Loopback 1

ip address 172.16.1.33 255.255.255.240

How will this affect the EIGRP updates? If we examine the routing table for r2 we see that the new sub-subnetted routes do appear long with their associated subnet mask.

r2#show ip route

172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks

D 172.16.1.32/28 [90/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0

D 172.16.1.16/28 [90/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0

C 172.16.4.0/24 is directly connected, Loopback0

C 172.16.5.0/24 is directly connected, Loopback1

C 172.16.3.0/24 is directly connected, FastEthernet0/0

EIGRP carries subnet mask information in the routing updates so R1 will advertise networks 172.16.1.16 and 172.16.1.32 out network 172.16.3.0. For this example the major network number is 172.16.0.0. What if these sub-subnetted networks use a different major subnet number, 173.16.0.0, as shown in figure 10.3?

Router r1 configuration changes

interface Loopback0

ip address 173.16.1.17 255.255.255.240

interface Loopback 1

ip address 173.16.1.33 255.255.255.240

router eigrp 100

network 172.16.0.0

network 173.16.0.0

r2# clear ip route *

r2#show ip route

172.16.0.0/16 is subnetted, 3 subnets

C 172.16.4.0 is directly connected, Loopback0

C 172.16.5.0 is directly connected, Loopback1

C 172.16.3.0 is directly connected, Ethernet0

D 173.16.0.0/16 [90/156160] via 172.16.3.1, 00:00:18, Ethernet0

Notice that r1 is advertising network 173.16.0.0 enabling r2 to be able to reach the two 173.16 networks on r1. The subnet mask is different that the mask used for the 172.16 network, but since EIGRP transmits subnet information the routes will be advertised. Also notice that EIGRP automatically summarizes the network 173.16.0.0. What happens if we assign networks for the sub-subnetted network 173.16.0.0 on r2 (Figure 10.4).

Router r2 configuration changes

interface Loopback0

ip address 173.16.1.49 255.255.255.240

interface Loopback 1

ip address 173.16.1.65 255.255.255.240

router eigrp 100

network 172.16.0.0

network 173.16.0.0

The routing table for r2 now contains

r2#clear ip route *

r2#show ip route

172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks

D 172.16.0.0/16 is a summary, 00:00:03, Null0

C 172.16.3.0/24 is directly connected, Ethernet0

173.16.0.0/16 is variably subnetted, 3 subnets, 2 masks

C 173.16.1.48/28 is directly connected, Loopback0

D 173.16.0.0/16 is a summary, 00:00:03, Null0

C 173.16.1.64/28 is directly connected, Loopback1

Where are the routes to 173.16.1.16 and 173.16.1.32? We have succeeded in confusing EIGRP. EIGRP automatically summarizes networks in the routing update. Both router r1 and r2 are advertising that they can reach network 173.16.0.0. Who is correct? They both are! This demonstrates the behavior of EIGRP when we have subnets of the same network on different routers and the fact that EIGRP is automatically summarizing the routes. For this scenario we need to disable automatic route summarization. This is a good time to introduce the EIGRP routing commands since the first one deals with route summarization. These commands can be listed by entering EIGRP configuration mode and typing a question mark.

r1(config)#router eigrp 100

r1(config-router)#?

Router configuration commands:

auto-summary Enable automatic network number summarization

default-information Control distribution of default information

default-metric Set metric of redistributed routes

distance Define an administrative distance

distribute-list Filter networks in routing updates

eigrp EIGRP specific commands

exit Exit from routing protocol configuration mode

help Description of the interactive help system

maximum-paths Forward packets over multiple paths

metric Modify IGRP routing metrics and parameters

neighbor Specify a neighbor router

network Enable routing on an IP network

no Negate or set default values of a command

passive-interface Suppress routing updates on an interface

redistribute Redistribute information from another routing protocol

timers Adjust routing timers

traffic-share Algorithm for computing traffic share for alternate routes

variance Control load balancing variance

Command: auto-summary

Purpose: Enable automatic network number summarization.

This default feature of EIGRP caused problems with the network in figure 10.4. Automatic route summarization can be disabled on routers r1 and r2 by using the command no auto-summary in router configuration mode.

r1(config)#router eigrp 100

r1(config-router)#no auto-summary

r1(config-router)#^Z

r2(config)#router eigrp 100

r2(config-router)#no aut

r2(config-router)#no auto-summary

r2(config-router)#^Z

With automatically route summarization disabled the routing tables for r1 and r2 contain routes to all the subnetworks.

r1#show ip route

172.16.0.0/16 is subnetted, 1 subnets

C 172.16.3.0 is directly connected, FastEthernet8/0

173.16.0.0/16 is subnetted, 4 subnets

D 173.16.1.48 [90/156160] via 172.16.3.2, 00:00:13, Ethernet0

C 173.16.1.32 is directly connected, Loopback1

C 173.16.1.16 is directly connected, Loopback0

D 173.16.1.64 [90/156160] via 172.16.3.2, 00:00:13, Ethernet0

r2#sh ip route

172.16.0.0/16 is subnetted, 1 subnets

C 172.16.3.0 is directly connected, FastEthernet0/0

173.16.0.0/16 is subnetted, 4 subnets

C 173.16.1.48 is directly connected, Loopback0

D 173.16.1.32 [90/156160] via 172.16.3.1, 00:01:02, FastEthernet0/0

D 173.16.1.16 [90/156160] via 172.16.3.1, 00:01:02, FastEthernet0/0

C 173.16.1.64 is directly connected, Loopback1

Route summarization is beneficial because the size of the routing updates is reduced thereby reducing the bandwidth requirements, but as we have seen route summarization does not produce the desired result for all scenarios. The network configuration shown in figure 10.1 will be used to illustrate the remaining EIGRP commands.

Command: default-information

Purpose: Control distribution of default information

This command is covered in chapter 13, Route redistribution.

Command: default-metric

Purpose: A router may be running more that one IP routing protocol (RIP, IGRP, EIGRP or OSPF). Each routing protocol has a different metric, for example RIP has a hop count, OSPF has a dimensionless cost and EIGRP has a cost based on five metrics. When injecting routes from one routing protocol to another, the route metric needs to be converted from one protocol to another. The default-metric command is used to perform this conversion. This will be covered in detail in chapter 13.

Command: distance

Purpose: Used to adjust the administrative distance of a route.

r2(config)#router eigrp 100

r2(config-router)#distance ?

<1-255> Administrative distance

eigrp IP-EIGRP distance

Enter an administrative distance in the range 1 – 255. The default for EIGRP is 90. The administrative distance is used when more than one routing protocol is active on a router. For example, if we are running EIGRP and RIP and each protocol has a route to the same network the EIGRP route would be preferred because EIGRP has a lower administrative distance (90) than RIP (120). We can force the EIGRP route to not be chosen by setting the administrative distance to be higher than that for RIP.

r2(config-router)#distance 130 ?

A.B.C.D IP Source address

(Notice that we don’t have the <cr> option that we had with RIP and IGRP)

r2(config-router)#distance 130 172.16.0.0 ?

A.B.C.D IP address mask

r2(config-router)#distance 130 172.16.0.0 0.0.255.255 ?

<1-99> IP Standard access list number

eigrp IP-EIGRP distance

<cr>.

Entering <cr> will apply the new administrative distance only to network 172.16.0.0. Notice that the IP address mask is the "reverse" of what is used for a subnet mask. This is the same style used for IP access-lists that were discussed in chapter 7. Since r2 is only learning about network 172.16.0.0 from r1, this has the same effect as applying the administrative distance to all networks learned from EIGRP.

r2#show ip route

172.16.0.0/16 is subnetted, 5 subnets

C 172.16.4.0 is directly connected, Loopback0

C 172.16.5.0 is directly connected, Loopback1

D 172.16.1.0 [130/156160] via 172.16.3.1, 00:00:02, Ethernet0

D 172.16.2.0 [130/156160] via 172.16.3.1, 00:00:02, Ethernet0

C 172.16.3.0 is directly connected, Ethernet0

Finally, we can choose the routes that will have their administrative distance modified through the use of an IP access-list. Assume we want to change the administrative distance of the route to 172.16.1.0 to 130 but not affect the route to 172.16.2.0. First we would use the EIGRP command

r2(config-router)#distance 130 172.16.0.0 0.0.255.255 ?

<1-99> IP Standard access list number

eigrp IP-EIGRP distance

<cr>

r2(config-router)#distance 130 172.16.0.0 0.0.255.255 1 ?

<cr>

r2(config-router)#distance 130 172.16.0.0 0.0.255.255 1

r2(config-router)#^Z

The final step is to create an IP access-list that informs EIGRP to adjust the administrative distance of 172.16.1.0 but leave the administrative distance of 172.16.2.0 set to 90. Without an access-list but with the distance command shown above, all the routes learned for network 172.16.0.0 will have their administrative distance set to 130 as shown. This is the default behavior.

r2#clear ip route *

r2#show ip route

172.16.0.0/16 is subnetted, 5 subnets

C 172.16.4.0 is directly connected, Loopback0

C 172.16.5.0 is directly connected, Loopback1

D 172.16.1.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0

D 172.16.2.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0

C 172.16.3.0 is directly connected, FastEthernet0/0


The access-list needed to adjust only the 172.16.1.0 is

r2(config)#access-list 1 ?

deny Specify packets to reject

permit Specify packets to forward

r2(config)#access-list 1 permit ?

Hostname or A.B.C.D Address to match

any Any source host

host A single host address

r2(config)#access-list 1 permit 172.16.1.0 0.0.0.225 ?

<cr>

r2(config)#access-list 1 permit 172.16.1.0 0.0.0.225

r2(config)#^Z

Notice that we did not have to use a permit any statement at the end of the access-list. A normal IP access-list always has an implicit deny any as the last statement. This is true in this case but the administrative distance is only affected for those routes that have a matching permit statement, so in the case the implicit deny any in the access-list has no effect. The new IP routing table contains

r2#clear ip route *

r2#sh ip route

172.16.0.0/16 is subnetted, 5 subnets

C 172.16.4.0 is directly connected, Loopback0

C 172.16.5.0 is directly connected, Loopback1

D 172.16.1.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0

D 172.16.2.0 [90/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0

C 172.16.3.0 is directly connected, FastEthernet0/0

Notice that route 172.16.1.0 is the only route that has an adjusted administrative distance.

If we want to set the administrative distance of 172.16.1.0 to 130 and the administrative distance of 172.16.2.0 to 140, can we use two distance commands with two access lists? Sometimes. When we enter the second distance command under EIGRP configuration, the second distance command will overwrite the first. We can have two distance commands if the major networks are different. In summary, we can set the administrative distance of any number of routes on the same major network to any value between 1 and 255, but it has to be the same value. Only those routes that are permitted in the access-list will have their administrative distance modified.

Another form of the distance command of EIGRP is to adjust internal and external routes as shown.

r2(config-router)#distance ?

<1-255> Administrative distance

eigrp IP-EIGRP distance

r2(config-router)#distance eigrp ?

<1-255> Distance for internal routes

r2(config-router)#distance eigrp 130 ?

<1-255> Distance for external routes

r2(config-router)#distance eigrp 130 90 ?

<cr>

r2(config-router)#distance eigrp 130 90

This form of the distance command for external routes is covered in chapter 13, Route Redistribution. This form can also be used to adjust the distance of the internal routes by using

r2(config-router)#distance eigrp 130 90

This will set the distance of all of our routes to 130 since our routes are all internal routes. The previous form of the distance command using access-lists is more flexible since it can be used to adjust particular routes. If we use both forms of the distance command, the first form takes precedence over the distance eigrp command. For example, assume we have the following configuration on r2.

router eigrp 100

network 172.16.0.0

distance eigrp 115 62

distance 130 172.16.0.0 0.0.255.255

Router r2’s routing table will contain

r2#show ip route

172.16.0.0/16 is subnetted, 5 subnets

C 172.16.4.0 is directly connected, Loopback0

C 172.16.5.0 is directly connected, Loopback1

D 172.16.1.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0

D 172.16.2.0 [130/156160] via 172.16.3.1, 00:00:01, FastEthernet0/0

C 172.16.3.0 is directly connected, FastEthernet0/0

Command: distribute-list

Purpose: Used to filter incoming or outgoing routing updates.

A distribute list is used to delete routes from either incoming or outgoing EIGRP updates. Assume router r2 wants to delete network 172.16.1.0 that is being advertised by r1. First we need to assign a distribute-list to the EIGRP process on router r2.

We can either use a standard or an extended IP access-list, which gives us many possibilities.

  1. Block the 172.16.1.0 route from any interface using a standard IP access-list.
  2. r2(config)#router eigrp 100

    r2(config-router)#distribute-list ?

    <1-199> A standard IP access list number

    r2(config-router)#distribute-list 1 ?

    in Filter incoming routing updates

    out Filter outgoing routing updates

    r2(config-router)#distribute-list 1 in ?

    Ethernet Ethernet IEEE 802.3

    Loopback Loopback interface

    Null Null interface

    <cr>

    r2(config-router)#^Z

    Now create the access-list to block the 172.16.1.0 route.

    access-list 1 deny 172.16.1.0 0.0.0.255

    access-list 1 permit any

    We need the permit any statement in a distribute list otherwise the implicit deny all at the end of the list would filter out all routes learned overall all interfaces. The routing table for r2 now contains

    r2#clear ip route *

    r2#show ip route

    172.16.0.0/16 is subnetted, 4 subnets

    C 172.16.4.0 is directly connected, Loopback0

    C 172.16.5.0 is directly connected, Loopback1

    D 172.16.2.0 [90/156160] via 172.16.3.1, 00:00:01, Ethernet0

    C 172.16.3.0 is directly connected, Ethernet0

    Notice that the 172.16.1.0 route from r1 has been filtered. The access-list(s) that are configured for EIGRP can be seen by listing the configuration or by using the command show ip protocols.

    r2#show ip protocols

    Routing Protocol is "eigrp 100"

    Outgoing update filter list for all interfaces is not set

    Incoming update filter list for all interfaces is 1

    Default networks flagged in outgoing updates

    Default networks accepted from incoming updates

    EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0

    EIGRP maximum hopcount 100

    EIGRP maximum metric variance 1

    Redistributing: eigrp 100, igrp 100

    Automatic network summarization is in effect

    Routing for Networks:

    172.16.0.0

    Routing Information Sources:

    Gateway Distance Last Update

    172.16.3.1 90 00:01:00

    Distance: internal 90 external 170

  3. Block the 172.16.1.0 route from any interface using an extended IP access-list.
  4. r2(config)#router eigrp 100

    r2(config-router)#distribute-list ?

    <1-199> A standard IP access list number

    r2(config-router)#distribute-list 100 ?

    in Filter incoming routing updates

    out Filter outgoing routing updates

    r2(config-router)#distribute-list 1 in ?

    Ethernet Ethernet IEEE 802.3

    Loopback Loopback interface

    Null Null interface

    <cr>

    r2(config-router)#^Z

    access-list 100 deny ip any 172.16.1.0 0.0.0.255

    access-list 100 permit ip any any

    Notice that the route to block is listed as the destination address in the access-list and not the source address.

  5. Block the 172.16.1.0 route from the ethernet interface using a standard IP access-list.
  6. r2(config)#router eigrp 100

    r2(config-router)#distribute-list 1 in ?

    Ethernet Ethernet IEEE 802.3

    Loopback Loopback interface

    Null Null interface

    <cr>

    r2(config-router)#distribute-list 1 in ethernet ?

    <0-1> Ethernet interface number

    r2(config-router)#distribute-list 1 in ethernet 0 ?

    <cr>

    r2(config-router)#distribute-list 1 in ethernet 0/0

    r2(config-router)#^Z

    We can filter routes through a specific interface. If the route advertisement is learned through a different interface it will not be filtered.

  7. Block the 172.16.1.0 route from the ethernet interface using an extended IP access-list.

r2(config)#router eigrp 100

r2(config-router)#distribute-list 1 in ?

Ethernet Ethernet IEEE 802.3

Loopback Loopback interface

Null Null interface

<cr>

r2(config-router)#distribute-list 1 in ethernet ?

<0-1> Ethernet interface number

r2(config-router)#distribute-list 1 in ethernet 0 ?

<cr>

r2(config-router)#distribute-list 1 in ethernet 0

r2(config-router)#^Z

For examples 3 and 4 the access-lists did not need to be modified from examples 1 and 2.

To filter outgoing route advertisements the distribute-list would be applied as an outgoing instead of as an incoming list. This also gives us four possibilities for filtering. For the examples assume that r2 wants to block the route to 172.16.4.1 in figure 10.1 so that r1 does not receive it.

1. Block the 172.16.4.0 route going out any interface using a standard IP access-list.

r2(config)#router eigrp 100

r2(config-router)#distribute-list 1 ?

in Filter incoming routing updates

out Filter outgoing routing updates

r2(config-router)#distribute-list 1 out ?

Ethernet Ethernet IEEE 802.3

Loopback Loopback interface

Null Null interface

Bgp Border Gateway Protocol (BGP)

Connected Connected

Egp Exterior Gateway Protocol (EGP)

Eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)

Igrp Interior Gateway Routing Protocol (IGRP)

Isis ISO IS-IS

iso-igrp IGRP for OSI networks

ospf Open Shortest Path First (OSPF)

rip Routing Information Protocol (RIP)

static Static routes

<cr>

r2(config-router)#distribute-list 1 out

r2(config-router)#^Z

There are many more selections available for outbound filters than for inbound. These additional choices are covered in chapter 13, Route Redistribution. The access-list for example one would contain

access-list 1 deny 172.16.4.0 0.0.0.255

access-list 1 permit any

The route 172.16.4.0 will not be contained in r1’s routing table after the filter has been applied.

r1#sh ip route

172.16.0.0/16 is subnetted, 4 subnets

D 172.16.5.0 [90/156160] via 172.16.3.2, 00:00:42, FastEthernet8/0

C 172.16.1.0 is directly connected, Loopback0

C 172.16.2.0 is directly connected, Loopback1

C 172.16.3.0 is directly connected, FastEthernet8/0

The applied access-list can be shown using the show ip protocols command.

r2#show ip protocols

Routing Protocol is "eigrp 100"

Outgoing update filter list for all interfaces is 1

Incoming update filter list for all interfaces is not set

Default networks flagged in outgoing updates

Default networks accepted from incoming updates

EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0

EIGRP maximum hopcount 100

EIGRP maximum metric variance 1

Redistributing: eigrp 100, igrp 100

Automatic network summarization is in effect

Routing for Networks:

172.16.0.0

Routing Information Sources:

Gateway Distance Last Update

172.16.3.1 90 00:01:19

Distance: internal 90 external 170

2. Block the 172.16.4.0 route going out any interface using an extended IP access-list.

r2(config)#router eigrp 100

r2(config-router)#distribute-list 100 out

r2(config-router)#^Z

access-list 100 deny ip any 172.16.4.0 0.0.0.255

access-list 100 permit ip any any

  1. Block the 172.16.4.0 route going ethernet interface using a standard IP access-list.
  2. r2(config)#router eigrp 100

    r2(config-router)#distribute-list 1 out

    r2(config-router)#distribute-list 1 out Ethernet 0

    r2(config-router)#^Z

    access-list 1 deny 172.16.4.0 0.0.0.255

    access-list 1 permit any

  3. Block the 172.16.4.0 route going ethernet interface using an extended IP access-list.

r2(config)#router eigrp 100

r2(config-router)#distribute-list 1 out

r2(config-router)#distribute-list 1 out Ethernet 0

r2(config-router)#^Z

access-list 1 deny 172.16.4.0 0.0.0.255

access-list 1 permit any

Command: Exit

Purpose: Exit router configuration mode and enter global configuration mode.

r2(config)#router eigrp 100

r2(config-router)#exit

r2(config)#

Command: Help

Purpose: Get help on help

r2(config)#router eigrp 100

r2(config-router)#help

Help may be requested at any point in a command by entering

a question mark '?'. If nothing matches, the help list will

be empty and you must backup until entering a '?' shows the

available options.

Two styles of help are provided:

1. Full help is available when you are ready to enter a

command argument (e.g. 'show ?') and describes each possible

argument.

2. Partial help is provided when an abbreviated argument is entered

and you want to know what arguments match the input

(e.g. 'show pr?'.)

Command: maximum-paths

Purpose: Forward packets over multiple paths

EIGRP can distribute traffic on up to 6 different paths. See the traffic-share command for further details.

r2(config)#router eigrp 100

r2(config-router)#max

r2(config-router)#maximum-paths ?

<1-6> Number of paths

r2(config-router)#maximum-paths 3 ?

<cr>

Command: neighbor

Purpose: Specify a neighbor on a non-broadcast network.

For NBMA networks such as X.25 and frame-relay additional configuration information is needed to propagate EIGRP routing updates. The neighbor command would be needed in order for EIGRP updates to cross a frame-relay cloud.

Command: Network

Purpose: To inform EIGRP which networks to advertise and out which interfaces to advertise. Any active interface that has an IP address that is contained in the network command will be used to send and receive EIGRP routing updates.

Command: No

Purpose: Used to negate configuration commands.

The no command is used to undo previous configuration commands. If we decide for example, not to advertise a network, remove a distribution list, or remove an administrative distance modifier we would use the no command.

r1(config)#router eigrp 100

r1(config-router)#no network 172.16.0.0

r1(config-router)#no distribute-list 100 out

r1(config-router)#no distance 130

r1(config-router)#^Z

Command: passive-interface

Purpose: Suppress routing updates on an interface.

The passive-interface command stops routing updates from being sent or received (processed) on an interface. Interfaces that have been configured as passive can be shown with the show ip protocols command.

r1#show ip protocols

Routing Protocol is "eigrp 100"

Outgoing update filter list for all interfaces is not set

Incoming update filter list for all interfaces is not set

Default networks flagged in outgoing updates

Default networks accepted from incoming updates

EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0

EIGRP maximum hopcount 100

EIGRP maximum metric variance 1

Redistributing: eigrp 100

Automatic network summarization is in effect

Routing for Networks:

172.16.0.0

Passive Interface(s):

Ethernet0

Routing Information Sources:

Gateway Distance Last Update

(this router) 5 00:05:25

172.16.3.2 90 00:05:18

Distance: internal 90 external 170

Since EIGRP does not send routing updates as a broadcast, the passive-interface used in conjunction with the neighbor command will not allow EIGRP to receive routing updates like we have seen with RIP and IGRP. Making an interface passive blocks the EIGRP hello protocol preventing a neighbor relationship from being established on the interface. This has the affect of blocking the incoming routing updates since they are only sent to neighbors.

Command: redistribute

Purpose: Redistribute information from another routing protocol.

This command is covered in chapter 13, Protocol Redistribution.

Command: timers

Purpose: Adjust routing timers.

The EIGRP timers can be viewed by using the command show ip protocols and shown below.

r2(config)#router eigrp 100

r2(config-router)#timers ?

active-time EIGRP time limit for active state

r2(config-router)#timers active-time ?

<1-4294967295> EIGRP active-state time limit in minutes

disabled disable EIGRP time limit for active state

<cr>

r2(config-router)#timers active-time 100 ?

<cr>

r2(config-router)#timers active-time disabled ?

<cr>

Command: traffic-share

Purpose: Algorithm for computing traffic share for alternate routes.

When multiple unequal cost routes exist to the same destination network, the traffic-share command controls how packets are distributed among the different paths. There are two possibilities for traffic-share, balanced and minimum. Balanced mode will distribute traffic in proportion to the metrics of the routes. The min traffic-share option will only use the routes that have minimum costs. The default for traffic-share is balanced.

r2(config-router)#traffic-share ?

balanced Share inversely proportional to metric

min All traffic shared among min metric paths

r2(config-router)#traffic-share balanced

or

r2(config-router)#traffic-share min ?

Command: Variance

Purpose: Control load balancing variance.

EIGRP can have up to six routes to the same destination in the routing table. Multiple routes to the same destination will only be installed in the routing table if there cost, or metric, passes a test which will be illustrated with figure 10.5.

Router r1 in figure 10.5 has two routes to network 172.16.0.0. The first route is directly to router r2 will a cost of a. The second route is through router r2 with a cost of b. Router r1 will include the route through r2 if two conditions are met.

  1. If the cost A is greater than the cost C.
  2. If the variance * A >= B.

Needless to say, you won’t be making many changes to the variance! But if you must, the command is given below.

r2(config-router)#variance ?

<1-128> Metric variance multiplier

r2(config-router)#variance 2 ?

<cr>

r2(config-router)#variance ?

<1-128> Metric variance multiplier

r2(config-router)#variance 2 ?

<cr>

EIGRP Interface Commands

Command: ip hello-interval eigrp

Purpose: Used to adjust the EIGRP hello protocol interval on an interface.

Default: 60 seconds for NBMA networks

5 seconds for other networks

r1(config)#interface ethernet 0

r1(config-if)#ip hello-interval ?

eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)

r1(config-if)#ip hello-interval eigrp ?

<1-65535> Autonomous system number

r1(config-if)#ip hello-interval eigrp 100 ?

<1-65535> Seconds between hello transmissions

r1(config-if)#ip hello-interval eigrp 100 10 ?

<cr>

Command: ip hold-time eigrp

Purpose: Used to adjust the EIGRP hold-time on an interface.

Default: 180 seconds for NBMA networks

15 seconds for other networks.

r1(config-if)#ip hold-time ?

eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)

r1(config-if)#ip hold-time eigrp ?

<1-65535> Autonomous system number

r1(config-if)#ip hold-time eigrp 100 ?

<1-65535> Seconds before neighbor is considered down

r1(config-if)#ip hold-time eigrp 100 30

<cr>

Command: ip split-horizon or no ip split-horizon

Purpose: Used to enable or disable EIGRP split-horizon on an interface.

Default: enabled

r1(config-if)#ip split-horizon ?

eigrp Enhanced Interior Gateway Routing Protocol (EIGRP)

<cr>

r1(config-if)#ip split-horizon eigrp ?

<1-65535> Autonomous system number

r1(config-if)#ip split-horizon eigrp 100 ?

<cr>

EIGRP show Command Summary

r1#show ip eigrp ?

neighbors IP-EIGRP Neighbors

topology IP-EIGRP Topology Table

traffic IP-EIGRP Traffic Statistics

r1#show ip eigrp neighbors ?

<1-65535> AS Number

Ethernet Ethernet IEEE 802.3

Loopback Loopback interface

Null Null interface

detail Show detailed peer information

<cr>

r1#show ip eigrp neighbors

IP-EIGRP Neighbors for process 100

H Address Interface Hold Uptime SRTT RTO Q Seq

(sec) (ms) (ms) Cnt Num

2 172.16.3.2 E0 14 00:41:26 4 20 0 21

1 172.16.2.1 Lo1 12 00:41:28 2 20 0 68

0 172.16.1.1 Lo0 12 00:41:28 2 20 0 67

Hold – length of time that EIGRP will wait before declaring a neighbor down.

Uptime – Elapsed amount of time since last hearing from the neighbor.

Q Cnt – Number of packets waiting to be sent

SRTT – Smooth round-trip time. The time it takes to send a packet to the neighbor and receive an acknowledgement.

RTO – Retransmission time.

r1#show ip eigrp topology ?

<1-65535> AS Number

A.B.C.D Network to display information about

active Show only active entries

all-links Show all links in topology table

zero-successors Show only zero successor entries

<cr>

IP-EIGRP Topology Table for process 100

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

r - Reply status

P 172.16.4.0/24, 1 successors, FD is 156160

via 172.16.3.2 (156160/128256), Ethernet0

P 172.16.5.0/24, 1 successors, FD is 156160

via 172.16.3.2 (156160/128256), Ethernet0

P 172.16.1.0/24, 1 successors, FD is 128256

via Connected, Loopback0

P 172.16.2.0/24, 1 successors, FD is 128256

via Connected, Loopback1

P 172.16.3.0/24, 1 successors, FD is 28160

via Connected, Ethernet0

r1#show ip eigrp traffic

IP-EIGRP Traffic Statistics for process 100

Hellos sent/received: 4303/4899

Updates sent/received: 47/54

Queries sent/received: 11/10

Replies sent/received: 10/12

Acks sent/received: 67/63

Debugging EIGRP

The network in Figure 10.1 is used to illustrate the EIGRP debugging commands. There are many commands that can be used for debugging EIGRP and they are summarized below

#debug ip eigrp ?

<1-65535> AS number

neighbor IP-EIGRP neighbor debugging

notifications IP-EIGRP event notifications

summary IP-EIGRP summary route processing

<cr>

r1#debug ip eigrp 100 ?

A.B.C.D IP address

<cr>

r1#debug ip eigrp 100 172.16.0.0 ?

A.B.C.D IP mask

<cr>

r1#debug ip eigrp 100 172.16.0.0 0.0.255.255 ?

<cr>

r1#debug ip eigrp 100 172.16.0.0 0.0.255.255

IP Target enabled on AS 100 for 172.16.0.0 0xFFFF

r1#debug ip eigrp ?

<1-65535> AS number

neighbor IP-EIGRP neighbor debugging

notifications IP-EIGRP event notifications

summary IP-EIGRP summary route processing

<cr>

r1#debug ip eigrp nei

r1#debug ip eigrp neighbor ?

<1-65535> AS number

r1#debug ip eigrp neighbor 100 ?

A.B.C.D IP address

r1#debug ip eigrp neighbor 100 172.16.0.0 ?

<cr>

r1#debug ip eigrp neighbor 100 172.16.0.0

IP Neighbor target enabled on AS 100 for 172.16.0.0

r1#debug ip eigrp ?

<1-65535> AS number

neighbor IP-EIGRP neighbor debugging

notifications IP-EIGRP event notifications

summary IP-EIGRP summary route processing

<cr>

r1#debug ip eigrp no

r1#debug ip eigrp notifications ?

<cr>

r1#debug ip eigrp notifications

IP-EIGRP Event notification debugging is on

r1#debug ip eigrp ?

<1-65535> AS number

neighbor IP-EIGRP neighbor debugging

notifications IP-EIGRP event notifications

summary IP-EIGRP summary route processing

<cr>

r1#debug ip eigrp sum

r1#debug ip eigrp summary ?

<cr>

r1#debug ip eigrp summary

IP-EIGRP Summary route processing debugging is on

 

Backward Forward
Chapter: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13

Reserve your copy at a
Beta Bookstore near you!
Contact Bet@books
© 1998 The McGraw-Hill Companies, Inc. All rights reserved.
Any use of this Beta Book is subject to the rules stated in the Terms of Use.

Beta Books | Beta Bookstores | Computing McGraw-Hill

Professional Publishing Home | Contact Us | Customer Service | For Authors | International Offices | New Book Alert | Search Catalog/Order | Site Map | What's New


A Division of the McGraw-Hill Companies
Copyright © 1998 The McGraw-Hill Companies. All rights reserved. Any use is subject to the Terms of Use; the corporation also has a comprehensive Privacy Policy governing information we may collect from our customers.